1. Technical Field of the Invention
The present invention relates generally to a method and an apparatus for reproducing information recorded to a recording medium for digitally recording information. More specifically, the invention relates to a method and an apparatus for reproducing data recorded in block units recorded to a recording medium having prerecorded address information, each block containing a plurality of specific frame units associated with the address information. The invention also relates to a playback method, a playback control circuit and playback apparatus for reproducing data from a recording medium, such as magnetic recording media and optical discs, to which error-correction coded data is recorded distributed among plural frames.
2. Background Art
As data transmission technologies have followed a singular path towards higher speed and greater capacity with the development of the information society, the need for faster, higher capacity recording media for recording and storing this information has also grown.
Data is generally recorded, reproduced, and managed in block units of a specific byte length on recording media for recording digital information. Examples of such recorded data include:
(1) All types of user data, including digital audio, video, and computer data
(2) Error correcting code (parity code) for detecting or correcting data errors during data playback operations
(3) Redundant data such as data IDs for identifying where data is recorded. This data is recorded as a coded stream after conversion to modulated code according to the read/write signal characteristics of the recording medium. A synchronization code is often encoded and then inserted at regular intervals in the modulated code stream and recorded embedded in the modulated code.
The synchronization code is used to assure correct data synchronization when reading data. The playback drive reads the data ID after frame synchronization, detects the recording address identifying where the data is recorded, and then demodulates and corrects for errors in the required playback data to acquire the original data.
One method used to record the synchronization code is recording a specific pattern at the beginning of a data frame of a known unit byte length. A pattern that does not exist in the modulated code stream is used for the synchronization pattern. The synchronization code is a combination of this specific pattern and a type identifier so that the location of the frame in a block can be known by decoding the type identifier in a synchronization code for either a single frame or for multiple consecutive frames.
This is described below using by way of example the physical format of DVD (=Digital Versatile Disc) media, a multipurpose optical disc medium that is becoming increasingly popular. Run-length limited (RLL) coding in which mark length and space length is limited to the range 3T to 11T (T being the channel bit period) is used for the modulated code stream, and a unique 14T pattern that therefore does not exist in the modulated code stream is used as a synchronization code at the beginning of the frame. One sector consists of 26 consecutive frames, each frame containing 2048 bytes of user data. A data ID identifying the data is assigned to each sector. One block contains 16 consecutive sectors, and encoding/decoding the error correcting code is done by block unit. The frame start synchronization code includes one of eight predefined type identifiers placed before the unique 14T synchronization code pattern. These eight synchronization codes are labelled SY0, SY1, SY2, SY3, SY4, SY5 SY6, SY7. The first frame in each sector includes the data ID of the SY0 synchronization code location, and the remaining 25 frames contain one of synchronization codes SY1 to SY7.
A drive for reading this type of optical disc can therefore determine the first frame in a sector by reading synchronization code SY0, can know where data is recorded by reading the data ID, and can use this information for search (seek) operations. The frame location within a sector can also be known by correctly reading the type identifiers for three consecutive frames other than frame SY0.
Storage media such as recordable optical discs that can be written by the user have unique address information prerecorded to the data recording tracks in a form (such as a different groove configuration) different from that used to record data (such as a phase change in the recording film). Data is recorded with a link to the pre-recorded address information, and the relationship between the recorded user data and the physical disc location identified by the address information is generally predefined. A disc drive that writes data to such recording media records data with reference to this unique address information as described in Japanese Patent Laid-Open Publication No. H11-176081.
DVD and other optical disc media also typically use Reed-Solomon coding or other error correcting code to correct errors caused by disc defects or dust or scratches on the disc surface.
The relationshipd≧2*t+1is generally true in an error correcting code where d is the shortest code distance and t is the number of corrections.
If the location of the error is already known to the error correcting process, erasure correction using information identifying the location of a known error, i.e., a erasure pointer, is possible, and the correction count can be increased a maximum of two times by applying erasure correction.
If the detection correction count is e, thend≧2*t+e+1is true. For example, code with shortest distance d=33 where all erasures are corrected enables correcting a maximum 32 errors (t=0, e=32).
Erasure correction requires that the locations of the errors are identifiable, and various methods have been proposed for identifying where errors are located.
With optical discs and other recording media using a frame structure to record data, error correcting performance is improved by detecting bit slip from the result of synchronization code detection and identifying where errors have occurred. The frames recorded to such media are formed by segmenting the error correction coded data into multiple data frames of a fixed length, converting the data frames to modulated frame data, and prepending a specific synchronization code to the beginning of the modulated frame data as described in Japanese Patent Laid-Open Publication No. S63-157372 (page 3, FIG. 3).
Other methods combine code with a higher error correction capability for burst error detection and code with a lower error correction rate and low redundancy rather then rely simply on synchronization code detection as described in “Optical Disc System for Digital Video Recording”, Narahara Tatsuya and seven others, Part of the Joint International Symposium on Optical Memory and Optical Data Storage 1999, July 1999, No. 3864, p. 50, and “Error Modeling and Performance Analysis of Error-Correcting Codes for the Digital Video Recording System”, Narahara Tatsuya and two others, Part of the Joint International Symposium on Optical Memory and Optical Data Storage 1999, July 1999, No. 3864, p. 340, and Japanese Patent Laid-Open Publication No. 2001-515642 (pp. 10-11, FIG. 2). In this case two codewords are formed between synchronization codes, error correction with a high correction rate is combined with synchronization code detection, and erasures are identified for erasure correction of the low error correction rate code.
Methods for improving error correction by locating errors during erasure error correction of the detection result of synchronization code, that is, by generating a erasure pointer, have thus conventionally been used.
A number of problems are left unsolved by the related art described above.
The first problem is that data playback is synchronized to a specific pattern contained in a synchronization code that is recorded with the data, and search (seek) operations depend on reading a data ID. For example, if the synchronization code in the first frame of a particular sector (synchronization code SY0 with DVD media) cannot be identified, the data ID cannot be read, and data seek operations are not stable.
While the location of a particular frame within the sector can be determined if synchronization codes can be read from plural consecutive frames not including the first frame in the sector, synchronization can take a long time or synchronization may not be possible if the data is low quality.
It may also not be possible to identify the type of synchronization code if data quality is low and synchronization is out of step during demodulation and error correction after the data seek is completed and recorded data is read from the addressed location. Furthermore, if synchronization remains out of step for plural frames, it is not possible to recognize frame slipping when it occurs. Even after the synchronization codes can be read again after recovering from this unsynchronized state, synchronization codes must again be read from multiple frames in order to determine the frame location, and the data error rate can increase.
The following problems are also presented by relying on synchronization code detection to generate erasure pointers for erasure error correction.
The first problem is that because the circuit block for synchronization code detection and the circuit block for error correcting using the detection results are different, the results of synchronization code detection synchronized to the demodulated demodulation data must be sent to the error correcting circuit block.
The second problem is that because the timing for generating the detection result of synchronization code and the timing for error correction differ, the detection result of synchronization code must be stored until error correction can be applied. Synchronization code detection also occurs before playback signal demodulation so that frame synchronization can be completed before playback signal demodulation.
The demodulated data is also typically buffered to DRAM or other memory device before error correction, and error correction starts after all frames in the error correcting code block have been stored. The timing for generating the detection result of synchronization code therefore differs from the error correction timing, and detection result of synchronization codes must be stored until error correction is processed.
A first object of the present invention is therefore to assure stable playback performance and reduce data dropout due to out of step synchronization even when playback signal quality deteriorates due to a recording medium defect, for example.
A second object of the invention is to use the demodulated data and the corresponding synchronization detection result information for error correction.